package 多线程3;
//定时器

//并发编程的模型,是有很多的.多进程多线程是一种相对原始的模型...
//使用起来是比较复杂,注意的事项也是比较多的,代码也是难以理解并容易出错的..

//网络编程中,定时器其实非常关键
//比如浏览器访问某个网站,网卡了.浏览器就会转圈圈(阻塞等待.)这个等待不是无限等待.等到一定时间之后,就显示访问超时

//使用阻塞队列,能够达到削峰填谷的效果.
//->峰值中会有大量的数据涌入队列中.

import java.util.Timer;
import java.util.TimerTask;

/**
 * 如果后续的服务器消费速度比较慢的话,队列里的有些元素可能就就会滞留很久..
 * 使用定时器,让滞留时间太久的请求直接被删掉
 *
 * 前端开发中也非常依赖定时器
 * 例如,很多网站上有一些动画效果
 * 也是通过计时器,比如每隔50ms,把页面往下滚动几个像素
 *
 */
public class TestDemo5 {
    public static void main(String[] args) {
        System.out.println("代码开始执行!");
        Timer timer = new Timer();
        //安排
        timer.schedule(new TimerTask() {
            @Override
            public void run() {
                System.out.println("触发定时器!");
            }
        },3000);
    }
}
